home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / MATHS / RLAB / RLAB125.ZIP / !RLaB / examples / order < prev    next >
Text File  |  1994-02-21  |  460b  |  39 lines

  1. //
  2. //  Order the symbol table
  3. //
  4.  
  5. //  Use global array A to hold ordered strings.
  6. i = 0;
  7.  
  8. order = function ( S )
  9. {
  10.   local(hm, lh, rh);
  11.  
  12.   if (S.n >= 3)
  13.   {
  14.     hm = int (S.n/2);
  15.     lh = S[1:hm-1];
  16.     rh = S[hm+1:S.n];
  17.  
  18.     i = i+1;
  19.     A[i] = S[hm];
  20.  
  21.     # Now call ourselves
  22.  
  23.     order (lh);
  24.     order (rh);
  25.   else
  26.     if (S.n >= 1)
  27.     {
  28.       i++;
  29.       A[i] = S[1];
  30.     }
  31.     if (S.n == 2)
  32.     {
  33.       i++;
  34.       A[i] = S[2];
  35.     }
  36.     return 1;
  37.   }
  38. };
  39.